home *** CD-ROM | disk | FTP | other *** search
/ Large Pack of OldSkool DOS MOD Trackers / buzzmachines_massive.exe / Dev / Geoffroy Notefilter SourceCode / ADSREnveloppe.h < prev    next >
Encoding:
C/C++ Source or Header  |  2002-05-08  |  965 b   |  42 lines

  1. // ADSREnveloppe.h: interface for the ADSREnveloppe class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4.  
  5. #if !defined(AFX_ADSRENVELOPPE_H__96E06570_0AEB_45FF_AC55_6B62D7F397CF__INCLUDED_)
  6. #define AFX_ADSRENVELOPPE_H__96E06570_0AEB_45FF_AC55_6B62D7F397CF__INCLUDED_
  7.  
  8. #if _MSC_VER > 1000
  9. #pragma once
  10. #endif // _MSC_VER > 1000
  11.  
  12. class ADSREnveloppe  
  13. {
  14. public:
  15.     ADSREnveloppe();
  16.     virtual ~ADSREnveloppe();
  17.  
  18.     void setA(unsigned long a);
  19.     void setD(unsigned long d);
  20.     void setS(unsigned long s);
  21.     void setR(unsigned long r);
  22.  
  23.     void setSustainGain(float sustain);
  24.     void reset();
  25.     void timeGoesBy(unsigned long timeInSamples);
  26.     float getGain();
  27.  
  28. private:
  29.     unsigned long a;
  30.     unsigned long d;
  31.     unsigned long s;
  32.     unsigned long r;
  33.  
  34.     float attackGain;
  35.     float sustainGain;
  36.     float releaseGain;
  37.  
  38.     unsigned long time;
  39. };
  40.  
  41. #endif // !defined(AFX_ADSRENVELOPPE_H__96E06570_0AEB_45FF_AC55_6B62D7F397CF__INCLUDED_)
  42.